.Overlay {
	background-color: var(--black-a9);
	position: fixed;
	inset: 0;
	animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
}

.Content {
	background-color: var(--gray-1);
	border-radius: 6px;
	box-shadow: var(--shadow-6);
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90vw;
	max-width: 500px;
	max-height: 85vh;
	padding: 25px;
	animation: contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
	&:focus {
		outline: none;
	}
}

.Title {
	margin: 0;
	color: var(--mauve-12);
	font-size: 17px;
	font-weight: 500;
}

.Description {
	margin-bottom: 20px;
	color: var(--mauve-11);
	font-size: 15px;
	line-height: 1.5;
}

.Button {
	all: unset;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	padding: 0 15px;
	font-size: 15px;
	line-height: 1;
	font-weight: 500;
	height: 35px;
	user-select: none;
	&:focus:not(:focus-visible) {
		outline: 0;
	}

	&:focus-visible {
		outline: 2px solid var(--violet-6);
		outline-offset: 1px;
	}

	&:global(.violet) {
		background-color: var(--violet-4);
		color: var(--violet-12);
		outline-color: var(--violet-6);
		&:hover {
			background-color: var(--mauve-3);
		}
	}

	&:global(.red) {
		background-color: var(--red-4);
		color: var(--red-11);
		outline-color: var(--red-7);
		&:hover {
			background-color: var(--red-5);
		}
	}

	&:global(.mauve) {
		background-color: var(--mauve-4);
		color: var(--mauve-11);
		outline-color: var(--mauve-7);
		&:hover {
			background-color: var(--mauve-5);
		}
	}
}

@keyframes overlayShow {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes contentShow {
	from {
		opacity: 0;
		transform: translate(-50%, -48%) scale(0.96);
	}
	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}
